'''各个领域常用python库'''

# 1. 网络爬虫
# 网络爬虫是一种按照一定的规则自动从网络上抓取信息的程序或者脚本,它可以替代人工完成很多工作,例如批量搜集网络上的数据资源,为数据平台提供数据支撑.

#     库名                                     功能说明
#   requests        requests提供了简单易用的类HTTP协议,支持连接池,SSL(安全套接字协议),Cookies,是目前Python最主要且功能最丰富的网络爬虫功能库
#   python-goose    python-goose专用于从文章,视频类型的Web页面中提取数据
#   re              re提供了定义和解析正则表达式的一些列通用功能,除网络爬虫外,还适用于各类需要解析数据的场景
#   beautifulsoup4  beautifulsoup4用于从HTML,XML等Web页面中提取数据,它提供了一些便捷的,Python式的用于提取数据的函数
#   scrapy          scrpy支持快速,高层次和批量的屏幕抓取,定时的Web抓取,以及结构性数据的抓取,是一款优秀的网络爬虫框架
#   pyspider        pyspider也是一款爬虫狂阶,它支持数据库后端,消息队列,优先级,分布式架构等功能,与scrapy相比,它更灵活便捷,更适合小规模的抓取工作


# 2. 数据分析
# 数据分析是指用适当的统计分析方法对收集来的大量数据进行汇总分析,以最大化地发挥数据的作用

#     库名                                     功能说明
#   numpy           数据分析离不开科学计算,numpy提供了一个表示N维数组的ndarray对象,通过ndarray对象可以便捷地存储和处理大型矩阵.numpy也
#                   定义了实现线性代数,傅里叶变换和随机数功能的函数,能高效地完成科学计算
#   pandas          pandas是一个基于numpy开发的,用于分析结构化数据的工具集,它为解决数据分析任务而生,同时提供数据挖掘和数据清洗功能
#   scipy           scipy是Python科学计算程序中会使用的核心库,它易于计算numpy矩阵,可以处理插值,积分,优化等问题,也能处理图像和信号,求解
#                   常微分方程取值


# 3. 文本处理
# 文本处理指对文本内容的处理,包括文本内容的分类,文本特征的提取,文本内容的转换等.

#     库名                                     功能说明
#   jieba           jieba是一个优秀的Python中文分词库,它支持精确模式,全模式和搜索引擎模式这3种分词模式,支持繁体分词,自定义字典,可有效标注词性
#                   从文本中提取关键词
#   nitk            nltk提供了用于访问超过50个语料库和词汇资源的接口,支持文本分类,标记,解析,并具有语法,语义分析等功能,简单,易用且高效,
#                   优秀的Python自然语言处理库
#   PyPDF2          PyPDF2是一个专业用于处理PDF文档的Python库,它支持PDF文件信息的提取,文件内容的按页拆分与合并,以及页面裁剪,内容加密与解密等功能
#   python-docx     python-docx是一个用于处理word文件的Python库,它支持Word文件中的标题,段落,分页符,图片,表格,文字等信息的管理,使用简单


# 4. 数据可视化
# 数据可视化是一门研究数据视觉表现形式的科学技术,它旨在有效传达数据信息的同时兼顾信息传达的美学形式,二者缺一不可

#     库名                                     功能说明
#   matplotlib      matplotlib是一个基于numpy开发的2D Python绘图库,该库提供了上百种图形化的数据展示形式.matplotlib库中的pyplot包内包含
#                   一系列具有类似MATLAB中绘图功能的函数,利用matplotlib.pyplot,开发者只需编写少量代码便可生成可视化图表.
#   seaborn         seaborn在matplotlib的基础上进行了更高级的封装,支持numpy和pandas,但其调用比matplotlib更简单,效果更丰富,
#                   多数情况下可以用seaborn绘制具有吸引力的图表
#   mayavi          mayavi是一个用于实现可视化功能的3D Python绘图库,它包含用于实现图形可视化和处理图形操作的mlab模块,支持numpy库


# 5. 机器学习
# 机器学习是一门涉及概率论,统计学,逼近论,凸分析,算法复杂度理论等多门学科的多领域交叉学科,该学科旨在研究计算机如何模拟或者实现人类的学习行为,
# 以获取新的知识和技能并重新组织已有的知识结构,不断改善自身.机器学习是人工智能的核心,是使计算机具有智能的根本途径

#     库名                                     功能说明
#   scikit-learn    scikit-learn支持分类,回归,聚类,数据降维,模型选择,数据预处理,它提供了一批调用机器学习方法的接口,
#                   是目前python机器学习领域中最优秀的免费库
#   tensorflow      tensorflow是一款以数据流图为基础,由谷歌人工智能团队开发和维护,免费且开元的机器学习计算框架,该框架支撑谷歌人工智能应用,
#                   提供了各类应用程序接口
#   mxnet           mxnet是一个轻量级分布式可抑制深度学习库,它支持多机,多节点,多GPU计算,提供可扩展的神经网络以及深度学习计算功能,可用于自动驾驶
#                   语音识别等领域


# 6. 图形用户界面
# 图形用户界面(Graphical User Interface,GUI)是指采用图形方式显示的计算机的用户界面,该界面允许用户使用鼠标,键盘灯输入设备操纵屏幕上的图标或菜单
# 选项,以选择命令,调用文件,启动程序或执行一些其他的日常任务.

#     库名                                     功能说明
#   PyQt5           PyQt5库是Python与强大的GUI库---Qt的融合,它提供了Qt开发框架的Python接口,拥有超过300个类,奖金6000个函数和方法,可开发
#                   功能强大的图形用户界面
#   wxPython        wxPython是跨平台库WxWidgets的Python版本,该库开元,支持跨平台,允许Python开发人员创建完整的,功能健全的图形用户界面
#   PyGObject       PyGObject绑定了Linux下最著名的图形库GTK3+,该库简单易用,功能强大,设计灵活,具有良好的设计理念和可扩展性


# 7. Web开发
# Web开发是指基于浏览器而非桌面进行的程序开发.

#     库名                                     功能说明
#   django          django是一个免费开元且功能完善的Web框架,它采用MTV模式,提供URL路由映射,Request上下文和基于模版的页面渲染技术,内置了
#                   一个功能强大的管理站点,适用于快速搭建企业级,高性能的内容类网站,是目前Python中最流行的Web开发框架
#   tornado         tornado是一个高并发处理框架,它常备用作大型站点的接口服务框架,而不同于django需建立完整网站的框架.tornado同样提供URL
#                   路由映射,Request上下文和基于模版的页面渲染技术,此外它还支持异步输入/输出,提供超时事件处理,内置了可直接用于生产环境的
#                   HTTP服务器
#   flask           flask是Python Web领域的一个新兴框架,他虽然功能简单,但吸收了其他框架的优点,具有可扩展性,一般用于实现小型网站的开发
#   twisted         django,tornado和flask是基于应用层协议HTTP展开的框架,而twisted是一个由事件驱动的网络框架,它支持多种传输层和应用层
#                   协议,支持客户端和服务器双端开发,适用于开发追求服务器程序性能的应用.


# 8. 网络应用开发
# 网络应用开发是指以网络为基础的应用程序的开发.Python计算生态通过WeRoBot,aip,MyQR等库为网络应用开发领域提供支持

#     库名                                     功能说明
#   WeRoBot         WeEoBot库封装了很多微信公众号接口,提供了解析微信服务器消息和反馈消息的功能,该库简单易用,是建立微信机器人的重要技术手段
#   aip             aip封装了百度AI开放平台的接口,利用该库可快速开发各类网络应用,如天气预报,在线翻译,快递查询等
#   MyQR            MyQR是一个用于生成二维码的Python库


# 9. 游戏开发

#     库名                                     功能说明
#   pygame          pygame是为开发2D游戏而设计的Python第三方跨平台库,开发人员利用pygame中定义的接口,可以方便快捷地实现图形用户界面创建,
#                   图形和图像绘制,用户键盘和鼠标操作监听,以及音频播放等游戏中常用的功能.
#   panda3d         panda3d是由迪士尼VR工作室和卡耐基梅陇娱乐技术中心开发的一个3D渲染和游戏开发库,该库强调能力,速度,完整性和容错能力,
#                   提供场景浏览器,性能监视器和动画优化工具.


# 10. 图形艺术

#     库名                                     功能说明
#   Quads           Quads是一个基于四叉树和迭代操作的图形艺术哭,它以图像作为输入,将输入图像分为四个象限,根据输入图像中的颜色为每个象限分配平均
#                   颜色,并重复该过程N次
#   ascii-art       ASCII_art第一种使用纯字符表示图像的技术,Python的ascii-art库提供了对该技术的支持,该库可以对接收到的图片进行转换,以字符
#                   形式重构图片并输出
#   turtle          turtle提供了绘制线,圆和其他图形的函数,使用该库可以创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面与图形


# 11. 图像处理
# 图像处理一般是指数字图像(用工业相机,摄像机和扫描仪等设备拍摄的图像,其本质为一个存储像素值的二维数组)处理,图像处理技术一般包括
# 图像压缩,增强和复原,以及图像匹配,描述和识别

#     库名                                     功能说明
#   numpy           数字图像的本质是数组,numpy定义的数组类型非常适合用于存储图像,numpy提供基于数组的计算功能,利用这些功能可以很方便地修改
#                   图像的像素值
#   scipy           scipy提供了对N维numpy数组进行运算的函数,这些函数实现的功能,如线性和非线性滤波,二值形态,B样条插值等都适用于图像处理
#   Pillow          Pillow库是PIL库的一个分支,也是支持Python 3的图像处理库,该库提供了对不同格式图像文件的打开和保存操作,也提供了点运算,
#                   色彩空间转换等基本的图像处理功能
#   OpenCV-Python   OpenCV-Python是OpenCV的Python版应用程序接口(API).OpenCV是基于BSD开源协议发型的跨平台计算机视觉库,该库内部代码由
#                   c/c++编写,实现了图像处理和计算机数据额方面的很多通用算法,OpenCV-Python以Python代码对OpenCV进行封装,因此该库的使用
#                   既方便又高效

